diff -up ntp-4.2.6p1/ntpd/ntp_io.c.cmsgalign ntp-4.2.6p1/ntpd/ntp_io.c
--- ntp-4.2.6p1/ntpd/ntp_io.c.cmsgalign	2010-03-04 18:28:53.000000000 +0100
+++ ntp-4.2.6p1/ntpd/ntp_io.c	2010-03-04 18:30:34.000000000 +0100
@@ -3194,8 +3194,8 @@ read_network_packet(
 	msghdr.msg_namelen    = fromlen;
 	msghdr.msg_iov        = &iovec;
 	msghdr.msg_iovlen     = 1;
-	msghdr.msg_control    = (void *)&control;
-	msghdr.msg_controllen = sizeof(control);
+	msghdr.msg_control    = (void *)((long)(control + 7) & -8); /* align to 8 bytes */
+	msghdr.msg_controllen = sizeof(control) - 8;
 	msghdr.msg_flags      = 0;
 	rb->recv_length       = recvmsg(fd, &msghdr, 0);
 #endif
